 1-Jun-81 22:18:00,3013;000000000000
Date: 2 Jun 1981 (Tuesday) 0018-EDT
From: PLATTS at WHARTON-10 (Steve Platt)
To:   devon at MIT-MC
cc:   info-cpm at MIT-AI
Subject: details of search first/next

  FILE SEARCHING in CP/M
 
  Ok, I'm using an old listing of a slightly modified BDOS from CP/M 1.4,
so much of the following might not be exactly the same for newer CP/M's.
But it may give you an idea of what to look for.
 
  CP/M has two calls to search for ambiguous file names (AFN's) in a
directory structure:
      A <- Bdos(17,fcbaddr)   ; find first
      A <- Bdos(18,fcbaddr)     ; find next
Some notes on these:  Each returns a value, that value mod 4 being
the index into the data in the current DMA area of the found file.
(As such, any data in the current DMA area is smashed.)
(Also, DMAaddr + (RA mod 4)*32 gives the fcb of the found file.)
  Finally, it should be noted that the extent# is also checked -- when
using these calls, stick a 00 there if you only want the *first*
occurrance of each file; however, if you are writing a SIZE function of
some sort, you'll want a "?" there (match any extent).
  ** implementation **
  As you may have guessed, BDOS is essentially a router -- it takes
the function code you pass it and jumps to an address in a table.  For
the version I have, the code for 17 and 18 is roughly:

   call17:
	call selfil  ;all-purpose file finder
	mvi  c,13    ;counter for #chs to check - 1(byte 0) +
			; 8(name) + 3(typ) + 1(ext)
	call srcdir  ;saves passed DE as FCBTMP, then calls SRCNXT.
		     ;also in general, init's the search process.
	ret

  call18:
	de <- fcbtmp  ;was set by prev call to 17, remember? essentially,
			; this means that it really doesn't matter what
			;you pass it in DE.  I have never tried this out...
	call selfil	;again, set up the file-finder (insures logged-in
			;drive, etc.)
	call srcnxt
	ret

srcnxt:
	;just find the next file using the FCB sent to it. (remember
	;that for bdos(18), it'll still use the one passed from
	;bdos(17).

Now the documentation I'm looking at (TPM doc. *not* CP/M doc.!) says
"No other intermediate TPM calls are allowed between function 17 and 18
or 18 and the next call on 18.", however, the only problems appear to
be with overlapping disk functions. (You may screw up communication
between 17 and 18 if you do.)  In fact, if you are very careful, almost
anything may be do-able -- just keep a seperate DMA area for whenever
you call 17 or 18, and don't play with the FCB you are comparing against.
Upon thought, I can think of calls to almost every disk primitive:
consider ERA *.* for deletion while searching, PIP B:=A:*.* for
reading and writing, as well as opening/closing, etc.  Again, just keep
the 17/18 data completely seperate ! (and that includes
copying any FCB's you find for use to another location...)
 
If you play with any of this and find anything out (definite) please
confirm the above.  Again, I am not sure how CP/M 2.2
treats this.
 
   ---Steve
 2-Jun-81 00:42:00,860;000000000000
Date: Tuesday, 2 June 1981  00:42-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: New version of SD directory program

SD has been updated, as of 6/1/81.  File now has version number
in the name, instead of creation date.  Remote CP/M operators
have discussed file names and feel version numbers are better,
especially when crossing from one year into the next.

The new files on MC are:

MC:CPM;SD COM    and    MC:CPM;SD-12 ASM

The new version will now print on your list device when you
do CTL-P.  It has a shell sort now, instead of the old bubble sort.
It's much faster, especially when being used on a disk with many
names in the directory.

Special assembly-time options allow for direct console I/O
for remote CP/M systems (to avoid echoing line-noise induced
garbage characters during printing).
 2-Jun-81 01:42:00,391;000000000000
Date: Tuesday, 2 June 1981  01:42-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: New version of XMODEM

MC:CPM;XMODEM 43ASM is an updated version of XMODEM.ASM.  It
differs from XMODEM ver 4.2 only in a correction for a missing
conditional assembly which affected assembly when the DC hayes
modem was selected as the choice of the modem being used.
 3-Jun-81 01:06:00,389;000000000000
Date: Wednesday, 3 June 1981  01:06-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Correction to new SD program name

Sorry I transposed the numbers in my last message about the new
SD program.  The new version is 2.1.  The file is on MC as
MC:CPM;SD-21 ASM   as I mentioned before MC:CPM;SD COM is also
available for those with LMODEM available.
 3-Jun-81 01:58:00,554;000000000000
Date: Wednesday, 3 June 1981  01:58-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Rick Conn's HELP program and files

MC:CPM now has the following available:

MC:CPM;HELP COM   ;the program for displaying the help files
MC:CPM;HELP HLP   ;a help file explaining HELP itself
MC:CPM;MAC HLP    ;explains about the CP/M 'MAC' assembler
MC:CPM;MASM HLP   ;explains about the Microsoft MACRO-80 assembler
MC:CPM;RESOURCE HLP ;explains Ward Christensen's disassembler
MC:CPM;DU-V75 HLP ;explains the disk utility
 3-Jun-81 02:01:00,289;000000000000
Date: Wednesday, 3 June 1981  02:01-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Resource HELP file

Correction on Resource HELP file.  Name on MC is
MC:CPM;RESOUR HLP    (not enough characters available in the
filename to spell it out entirely)
 3-Jun-81 21:49:00,780;000000000000
Date: Wednesday, 3 June 1981  21:49-MDT
From: Frank J. Wancho <FJW at MIT-MC>
To:   INFO-CPM at MIT-MC
cc:   ELLEN at MIT-MC, JPG at MIT-MC
Subject: Housecleaning time

Due to the limited space available on MC, I am about to do some
general file-flushing of the 108 files in MC:CPM; which haven't been
accessed in the last month or so.  The alternate temporary online home
for all of the files is [DARCOM-KA]<MICRO>, which can be accessed with
the usual ANONYMOUS FTP login - sorry, no guest accounts available
there.

So, either get those files you need now, or get them off of the KA
later, and hope someone has written a MODEM program for your site so
you can download those 8-bit COM files... HEX files will no longer be
maintained at either site.

--Frank
 4-Jun-81 20:34:00,887;000000000000
Date: Thursday, 4 June 1981  20:34-MDT
From: Ronald G. Fowler <RGF at MIT-MC>
To:   BLUE at MIT-MC
cc:   W8SDZ at MIT-MC, FJW at MIT-MC, INFO-CPM at MIT-MC
Subject: RESETING DRIVES

  Bill, you CAN reset individual drives if you're using CPM2;
there is a function described in a DR field update that was
left out of the CPM Interface guide.  It is function 25: RESET
DRIVE.  You call function 25 with a vector of drives to be reset
in DE reg...ie, a 1 indicates reset requested.  The least sig-
nificant bit represents drive A.  I don't believe anything is
returned to indicate success/failure in CPM; MPM returns a 0
if no process is accessing the requested drive, 0FFH otherwise.
  Keith: can you point Bill to the file here on MC?  I believe
you sent a note down to info-cpm that you had downloaded the
file, but I have lost track of what it's name is.
      ---Ron
 5-Jun-81 03:40:00,247;000000000000
Date: Friday, 5 June 1981  03:40-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: SD directory program updated

SD version 2.2 has just been released.  It is on MC as
MC:CPM;SD-22 ASM   and   MC:CPM;SD-22 COM
 5-Jun-81 23:02:00,1013;000000000000
Date: Friday, 5 June 1981  23:02-MDT
From: Frank J. Wancho <FJW at MIT-MC>
To:   INFO-APPLE at MIT-MC
cc:   INFO-CPM at MIT-MC
Subject: APPLE MODEM Programs

Keith Petersen (W8SDZ@MC) has uploaded the following files for those
of you with the APPLE II with the Microsoft Z80 cards and CP/M.  We
suggest that you capture MC:CPM;APBOOT MAC (or MC:CPM;APMBOT ASM),
assemble it, and use it with :LMODEM on MC to get MC:CPM;CRCK COM and
the MC:CPM;APMODM 21ASM or MC:CPM;APMODM 2ASM.  Assemble either APMODM
and you can throw away APBOOT.  From there you can use APMODM to grab
whatever other files of interest from MC:CPM; or the various Remote
CP/M systems around the country (see MC:CPM;RCP/M NOS and MC:CPM;RCP/M
INFO for more details).

MC:CPM;
  1   APBOOT MAC      0 +235
  1   APBYE  ASM      4 +764
  1   APHIGH MEMASM   0 +310
  14  APMBOT ASM      1 +500
  1   APMODM 21ASM    7 +550
  1   APMODM 2ASM     7 +832
  1   APMODM DOC      0 +908
  1   APXMOD ASM      4 +848

--Frank
 6-Jun-81 17:20:00,379;000000000000
Date: 6 Jun 1981 (Saturday) 1920-EDT
From: PLATTS at WHARTON-10 (Steve Platt)
To:   info-cpm at MIT-AI
Subject: Microsoft FTN problem -- Y/N questions

  Did anyone ever find a solution to Frank's problem in getting FTN
to correctly interpret a Y/N answer to a question? I've been playing
with it, it's reading the vals correctly, just not processing the
Y.
    -Steve
 7-Jun-81 01:33:00,441;000000000000
Date: Sunday, 7 June 1981  01:33-MDT
From: EHUANG at MIT-AI
To:   gz at MIT-MC
cc:   INFO-CPM at MIT-AI

Hi,
What is the difference between these Remote CP/M Systems BBSs
and the mc:cpm;bye asm  program?
thanks.
ps: will bye.asm work if I remove all the PMMI,SUPERBRAIN,and
DCHAYES codes and put in my own? I'm using Relocated CP/M
1.4 with a CAT hooked up by a RS-232 port (this i/o interface
is simple to use -- only 3 ports)
 7-Jun-81 20:14:00,818;000000000000
Date: Sunday, 7 June 1981  20:14-MDT
From: EHUANG at MIT-AI
To:   INFO-CPM at MIT-AI
cc:   PLK at MIT-AI

WIll BYE.ASM work as is? I mean that BYE.ASM doesnt
need other porgrams from MC:CPM;.
What does label DEST do? What should I do about it?
I dont really understand that.

**** SInce there are lots of users who run relocated CP/M,
could you in future programs put in a offset for system
calls and pointers such as CALL BDOS,JP 0000H,references
to 80H,and FCB,etc...
example:
at start of program --
Q	EQU 	4200H (for relocated systems)
;Q	 EQU 	 0H   (for normal systems)
	ORG 100H+Q
BDOS 	EQU 05H+Q
etc..
It took me a WHOLE afternoon to change all the stuff!
I'm not complaining but just making a suggestion for
future programs to be placed in MC:CPM;
	Thank you very much,
	Edward Huang
 7-Jun-81 21:28:00,624;000000000000
Date: Sunday, 7 June 1981  21:28-MDT
From: ehuang at MIT-AI
To:   INFO-CPM at MIT-AI
cc:   W8SDZ at MIT-AI, PLK at MIT-AI

Big deal! BYE.ASM is SO big (50,000 bytes) that after
a whole afternoon of removing every single COND for
PMMI,SUPERB,and DCHAYES it still wont load into
SCRIPSIT (word processor) and the edited file is
now 37,000 bytes...looks like I have to finish ALL
editing using EMACS and then download directly to
CP/M ASM. ANyone got this problem and any ideas
on cutting down the size?
Hey,any of you tried editing a 50K file (bye.asm)
on a 64K CP/M system?? ran out of memory??
	Edward Huang
 7-Jun-81 22:01:00,161;000000000000
Date: Sunday, 7 June 1981  22:01-MDT
From: Patrick L. Harvey <HARV at MIT-MC>
To:   INFO-CPM at MIT-MC

Please take me off the list...I'm drowning.
Thanks
 8-Jun-81 00:15:00,1018;000000000000
Date: Monday, 8 June 1981  00:15-MDT
From: Jonathan W. Platt <JWP at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Editing large CP/M files

     Those of you who are having problems (EHUANG, etc.) editing
large files on their  CP/M system aught to look into "WorkStar (tm)"
by MicroPro.   They have very extensive interfacing procedures (if
not overly so) to hook up to most any display and printer.  A daisy
wheel type incremental printer is what it seems best at (ie. I have
an NEC 5520 and it does magical things with it).  You can hook Wordstar
up to your screen if it is memory mapped (makes things 20 times faster).
     Anyway,  It pipelines the file you are editing so the file size
is limited to disk space available.  If you keep WordStar on one disk
(it takes up that much) and use the other disk for editing, there
are almost no problems with size.  Of course, if you only have one
floppy drive (double density at least) then you really should have
two anyway; anything else is cretinous...
 8-Jun-81 00:18:00,410;000000000000
Date: Monday, 8 June 1981  00:18-MDT
From: EHUANG at MIT-AI
To:   INFO-CPM at MIT-AI

I thanks to all of you who have FLOODED me with all kinds
of suggestions! esp all of them tell me to buy $400
WOrdstar! What I'm doing is use EMACS,then download
to CP/M and ASM it and run it..that should work..
	Thanks again,
	Edward Huang
ps: thanks esp to MADDOX,PLK,and another user who has a long uname@bbnb
 8-Jun-81 00:19:00,231;000000000000
Date: Monday, 8 June 1981  00:19-MDT
From: Jonathan W. Platt <JWP at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Oops...

   I see the idea of WordStar has already come up so my next
message in your mail is useless...**sigh**
 8-Jun-81 00:25:00,539;000000000000
Date: Monday, 8 June 1981  00:25-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Editing large files on CP/M

You don't need to buyy WordStar to edit large files.  The editor
that comes with CP/M  (ED.COM) will do it.  You bring the file
into the edit buffer, edit that section, write it out and append
more.

If the file is too large for the resultant output file to fit on
the same disk, use the command which tells ED.COM to put the new
edited file on the other drive....   ED myfile.asm B:
 8-Jun-81 00:31:00,1060;000000000000
Date: Monday, 8 June 1981  00:31-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Using DC Hayes modem at 450 baud

I picked up the following message from a remote CP/M system
recently:

According to the supplied literature of the D.C.Hayes
MicroModem-100, it cannot be operated above 300 baud.
The limiting factor is not the Uart or it clock
frequency but the Microcoupler itself (according to
its designer). Not accepting that their design was
such that its upper limit was no higher than 300
I decided to experiment. If you replace the diodes
that determine the 12-bit divider for the clock
frequency to a decimal 17 - 00010001 - (I used a
16-pin socket and a removeable header), you can
squeeze out 450 Baud. I couldn't get 600 baud, but
the upper limit probably varies from unit to unit.
If you wish you had a PMMI, give this a try. Anything
is better than 300.

                                Bob Loesch
                                Bel Air, Md.
                                (301) 879-7135
 8-Jun-81 00:39:00,352;000000000000
Date: Monday, 8 June 1981  00:39-MDT
From: Jonathan W. Platt <JWP at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: CP/M's ED.COM and where it should be put...

    For those who cannot afford anything else, I guess ED is the
only thing to use.  But those who can afford a micro-computer should
be able to get something good as opposed to ... that.
 8-Jun-81 07:19:00,3862;000000000000
Date: Monday, 8 June 1981  07:19-MDT
From: AFITGORDON at BBNB
To:   info-cpm at MC
cc:   [Conn]: at BBNB
Subject: An Editor Philosophy

Hi, Everyone,

        The recent  discussions  over  the  weekend  have  been  quite
enjoyable  and  interesting,  and I have been noting an inordinate (my
opinion, of course) amount of interest and  enthusiasm  for  the  Word
Star text editor/formatter.

        What I wanted to bring up  in  this  note  is  a  question  of
philosophy.   I  currently use both Word Master (which runs for around
$150) and Word Star (which runs for around  $400+),  and  have  edited
files  as  large  as  170K  with  each  (to  emphasize that size is no
problem).  Over a period of time and  after  some  experimentation,  a
basic philosophy has developed which may be of interest --


                1.  For the largest extent of my work  (software
                    development),   Word   Master  is  generally
                    preferred

                2.  When  document preparation is the objective,
                    Word Star is DEFINITELY preferred

        Why?   User  interaction  is  the  key.  My basic objective in
using an editor is to compose the text as quickly as possible and move
on  to  the assembly or compilation.  Although Word Star is admittedly
phenomenal  in  its  capabilities,  for  strict  text  work  with   no
formatting, Word Master exhibits the following traits:

                1.  WM is generaly FASTER (no overlays to  load,
                    no  drastic  refreshing  of  screen displays
                    during  global  and   local   substitutions,
                    extreme ease of use in the video mode [there
                    are   only   7   commands   I   really   use
                    frequently])

                2.  WM exhibits capabilities  not  found  in  WS
                    [counterpoint    --    WS    exhibits   many
                    capabilities  not  found  in  WM];  the   WM
                    extensions, such as macro command definition
                    and execution and the ED subset (I  actually
                    like  ED,  being  that  it was my first CP/M
                    editor) which  lends  itself  to  repetative
                    operations  which  don't  waste  my  time by
                    refreshing  the  screen  each  time  one  is
                    performed or can be made to just reprint the
                    edited or modified line and then go on

                3.  WM   provides   very  little  overhead  (10K
                    editor, 4K HELP file) and, aside from saving
                    disk  space, provides a larger memory buffer
                    than WS (is this  true???)   that  decreases
                    the frequency of disk accesses

        In sum, the core of what I am trying to say is to not view  WS
as  a  panacea;  I  feel  that  the  editor should be selected for the
intended application.  I also use EDIT-80, and have  selected  it  for
use  by  remote  users who dial into my system because it is (1) disk-
based, (2) NOT terminal dependent, (3) relatively responsive, and  (4)
provides   little   disk  overhead.   EDIT-80,  WM,  and  WS  are  all
outstanding editors, and I am sure that this is just a subset  of  the
good  editors  out there.  Each should be judged on its own merits and
should be selected for your particular (each  particular)  application
based  on  its responsiveness (minimum delay when a command is issued)
and applicability and utility in a particular situation.

________

        By the way, I am the one with the long uname at BBNB, and  you
may address me more simply by sending mail to CONN at MC (such mail is
automatically forwarded to BBNB).

	
					Rick Conn
 8-Jun-81 07:52:00,510;000000000000
Date: Monday, 8 June 1981  07:52-MDT
From: BHUBER at USC-ECL
To:   W8SDZ at MIT-MC, INFO-CPM at MIT-MC
cc:   BHUBER at USC-ECL
Subject: Using DC Hayes modem at 450 baud

In response to the message sent  8 June 1981 02:31-EDT from W8SDZ@MIT-MC

"Anything is better than 300 [bps]."  Oh?  What about 75, 110, or 134.5 bps?
Bob Loesch must not have much (any?) experience with older equipments.

Bud

P.S., I suspect today is going to be a bad one if this is my reaction to
the referenced message.
 8-Jun-81 10:38:00,542;000000000000
Date: Monday, 8 June 1981  10:38-MDT
From: Jim Moore <MOORE at USC-ISIB>
To:   ehuang at MIT-AI, INFO-CPM at MIT-AI
cc:   W8SDZ at MIT-AI, PLK at MIT-AI, MOORE at USC-ISIB

Big deal back atcha!  I have been routinely editing a 150K file on my 64K cp/m.
My secret is MINCE -- the only thing one must do is define a big mother swap
file (as per the users' manual).  Since you seem to already be an EMACSophile,
you'll be right at home (on the subset of commands that are implemented, it's
a 95% fit w/ EMACS.).

Enjoy,

Jim Moore
 9-Jun-81 00:28:00,229;000000000000
Date: Tuesday, 9 June 1981  00:28-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: New list of remote CP/M systems

MC:CPM;RCP/M NOS is now list #16 as of today.  Several new
systems listed.
 9-Jun-81 00:59:00,551;000000000000
Date: Tuesday, 9 June 1981  00:59-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
cc:   BUG-LMODEM at MIT-MC

When you use LMODEM to get files from MC, if the file name
has a slash ("/") in it (like that RCP/M NOS file I mentioned
in my last message) you need to use two /'s in a row when
telling LMODEM to send the file.  Apparently the slash is
used as some sort of option character in LISP and you need to
type two of them for one to be recognized.  I have noticed the
same thing with GZ's DOWN LOAD and UP LOAD.
 9-Jun-81 01:02:00,481;000000000000
Date: Tuesday, 9 June 1981  01:02-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: PLINK63.ASM

Those who cannot use FJW's excellent MicroTelnet program will
find PLINK63.ASM of interest.  It is written in 8080 code and
has equates for many different kinds of I/O, including
H89, TRS-80, PMMI, DC Hayes, Cromemco TUART, and others.
See the DOC file for details.  These files are available:
   MC:CPM;PLINK 63ASM   and   MC;CPM;PLINK 63DOC
 9-Jun-81 12:19:00,877;000000000000
Date: Tuesday, 9 June 1981  12:19-MDT
From: Jim Moore <MOORE at USC-ISIB>
To:   info-cpm at MIT-MC
cc:   moore at USC-ISIB, lucas at USC-ISIB
Subject: submit problems ...

It seems as though SUBMIT is only capable of feeding input to the top-level of
CP/M -- not to running programs.  Is there any technique for doing a
SUBMIT-like operation where the canned input first calls a program, then
provides the input for the program, looking (to the program) as though it had
come from the terminal.

Alternative formulation of my problem:  BaZic seems to store its programs in
an unreadable, compresssed form.  Consequently, readable programs (as one might
find on a BBS) can't be loaded -- at least I haven't found a way.  Is there a
way to cause BaZic to be happy with an externally prepared  BASIC program?

Thanks for any info ...

Jim Moore (Moore @ ISIB)
 9-Jun-81 17:52:00,478;000000000000
Date: 9 Jun 1981 (Tuesday) 1552-PST
From: MARON at LLL-MFE
To:   info-cpm at MIT-MC
cc:   moore at USC-ISIB
Subject: xsub as solution to submit problems

Jim-  under ver 2.x there is a program called XSUB. It will allow 
programs to read input from a submit file BUT.... only using the
read input buffer call (call 10). The program wont read from file
if it is using character by character input. If anyone has a better
XSUB program tell us SUBMIT/XSUB users. Thanks
 9-Jun-81 23:02:00,356;000000000000
Date: Tuesday, 9 June 1981  23:02-MDT
From: Devon S. McCullough <DEVON at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: ehuang's complaint

Anyone who writes

CALL 5

instead of

CALL BDOS

should be condemned to coding in hexadecimal:

CD 05 00

All my stuff starts out with

WARM EQU 0 ; OR 4200H AS THE CASE MAY BE
BDOS EQU WARM+5
...
10-Jun-81 01:56:00,834;000000000000
Date: Wednesday, 10 June 1981  01:56-MDT
From: MADDOX at MIT-AI
To:   INFO-CPM at MIT-AI
Subject: XSUB problem

There have been many times when I have been quite thankful for XSUB.  Sometimes,
though, I have been quite frustrated by what appears to be a problem in
relocation. On my system, a quite normal 64k Z80 system, certain programs will
refuse to run if XSUB is installed.  The most notable is WordStar, which, when
run, promptly returns to CP/M without any signs of trouble other than it
doesn't run.  No crashes or other clues.  Other programs which conflict with
XSUB seem to be generally those which try to relocate themselves below the
CCP for one reason or another, although DDT, which I believe also relocates
itself under the CCP, runs flawlessly.  Any ideas or similar experiences?

					- Dave Maddox
10-Jun-81 02:09:00,1786;000000000000
Date: Wednesday, 10 June 1981  02:09-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Saving money on F80 and M80

I recently noticed the following message on a remote CP/M
system and thought it might be of interest here:

Date: 5/30/81
From: ANDY BENDER
To:   ALL
Re:   CHEAP FORTRAN AND MACRO 80 PROGRAMS

If you want a copy of the Microsoft F80 and M80 programs
as well as their support software and you want to get them
with free updates for a year and be a legal user read on.
While not free, Heathkit sells these programs, doctored up
so they only run on Heath systems, at a discount.  The
discount is quite steep and the free updates are attractive.
You will need to know about DDT and SAVE to fix them so you
can use them:

FOR FORTRAN: >DDT F80.COM
then alter the LXI d,barf at 2C38 to jmp 2C90.
Exit from DDT and do a SAVE 107 F80.COM

FOR MACRO80: >DDT M80.COM
then alter the LXI d,barf at 4392 to jmp 43EA.
Exit from DDT and do a SAVE 75 M80.COM

You now own legal copies of both programs suitable for use
on your CP/M 1.4 or 2.2 system.

This patch bypasses the vendor code check in the CP/M
serial number and also bypasses some I/O twitching that
must be important for Heath systems.  The other system
programs distibuted on the disk do not need patching
these programs (LIB, L80 XREF etc) assume if you got to
use them you must be ok.

The same patch is probably possible in other Heath
software such as BASIC Compiler or COBOL Compiler.  I
have not researched these programs however.

My advice to fix other software would be to look at the
area in which the vendor code check is being carried out
and follow the same bypass as I did in M80.

Lots of Luck - Happy Computing from us at NSI.
10-Jun-81 02:23:00,234;000000000000
Date: Wednesday, 10 June 1981  02:23-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Update RCPM list

MC:CPM;RCP/M NOS is new as of today.
This is the list of remote CP/M file transfer systems.
10-Jun-81 11:19:00,1668;000000000000
Date: 10 Jun 1981 at 1019-PDT
From: fylstra.tsca at Sri-Unix
To:   info-cpm at MIT-AI
Subject: bugs in SUBMIT/XSUB

I have noticed the following bugs in SUBMIT and XSUB:

	1. XSUB chokes on empty lines and dies a miserable death.
	I noticed this while trying to spoon feed a number of
	answers to prompts that Small C (Codeworks version) was
	asking.  My intention was to reply (from the .SUB file)
	with a carriage return.

	A systems programmer from Digital Research acknowledged
	this at the recent West Coast Comp Faire.  He said that
	they knew it was a kludge but "it's better than nothing..."

	2. When a transient program returns to the CCP via a
	RET instruction rather than doing a warm boot, the CCP
	fails to restore the DMA address to TBUFF at 80h.
	If a .SUB file is active, the CCP will try to read the
	next command line from the file into some random buffer
	(most likely in the TPA someplace), and will then attempt
	to parse whatever is left in TBUFF.  Sigh...  This explains
	why so many CPMUG programs do a SETDMA(TBUFF) before
	exiting to CP/M.

	3. When expanding the arguments in the .SUB file, the SUBMIT
	command actually writes the command lines, one per record,
	in reverse order!!!  The CCP notices the $$$.SUB file, opens it,
	reads the high-water-mark record, deletes it from the FCB,
	and closes the $$$.SUB file.  In reading thru the CCP,
	I get the feeling that $$$.SUB files won't work if they
	are larger than one extent, but I haven't verified this.
	Anyone have experience with this?

All in all, the SUBMIT/XSUB system would best be served up for dinner
on Thanksgiving day.

Dave Fylstra
10-Jun-81 18:50:00,591;000000000000
Date: Wednesday, 10 June 1981  18:50-MDT
From: Michael C. Adler <MADLER at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Converting to 48k system

I just bought an H89 with CP/M.  In the CP/M manual there were references
to upgrading the 20k version that comes on the distribution disk to the
full capacity of my machine, 48k.  I could not find any information
describing the differences between the 20k version and the version for
48k.  Can anyone tell me what they are and why I would want to use more
RAM to store a bigger version of CP/M?

Thanks,
-Michael Adler   (MADLER@MC)
10-Jun-81 19:36:00,481;000000000000
Date: Wednesday, 10 June 1981  19:36-MDT
From: Michael C. Adler <MADLER at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Please disregard my last question

Please:  It has just been pointed out to me that CP/M resides in high
memory and for that reason I should reconfigure my system in order to gain
TPA.  Please disregard my last question about 48K and do not flood me
with a storm of nates to the same effect.  (I feel foolish enough as it
is.)

Thanks,
-Michael Adler
10-Jun-81 20:06:00,995;000000000000
Date: 10 Jun 1981 at 1906-PDT
From: fylstra.tsca at Sri-Unix
To:   info-cpm at MIT-AI
cc:   fylstra.tsca at Sri-Unix
Subject: suggested enhancement to MODEM206

The following may sound a little over-accomodating, but here goes...

The most recent version of MODEM2 (on [mc]cpm;modem 206asm) assumes
that, in the external coupler case, the transmit and receive data ports
are identical, and that the TBE and RDA status bits occur on the same
port.  I would suggest that the most general case would be

	MODDATR	EQU	01H	;receive data port
	MODDATW	EQU	02H	;transmit data port
	MODCTLR	EQU	03H	;RDA status port
	MODCLTW	EQU	04H	;TBE status port

Then the few occurances of 'OUT MODDATP' would be changed to 'OUT MODDATW'.
While interfacing MODEM206.ASM to a friend's Dynabyte system, I discovered
that the transmit and receive data ports were actually different!  Fortunately
the TBE and RDA bits occur on the same port.  It is unusual, but it does
happen...

Dave Fylstra
10-Jun-81 20:28:00,562;000000000000
Date: Wednesday, 10 June 1981  20:28-MDT
From: EHUANG at MIT-AI
To:   DEVON at MIT-MC
cc:   INFO-CPM at MIT-AI

Thanks.
Your idea is ni....
at last we got some Alternate CP/M supporters!
I've reprinted your msg..
    Date: 10 June 1981 01:02-EDT
    From: Devon S. McCullough <DEVON at MIT-MC>

    Anyone who writes

    CALL 5

    instead of

    CALL BDOS

    should be condemned to coding in hexadecimal:

    CD 05 00

    All my stuff starts out with

    WARM EQU 0 ; OR 4200H AS THE CASE MAY BE
    BDOS EQU WARM+5
    ...
10-Jun-81 23:29:00,5018;000000000000
Date: Wednesday, 10 June 1981  23:29-MDT
From: Frank J. Wancho <WANCHO at DARCOM-KA>
To:   INFO-CPM at MIT-MC
cc:   Stef at DARCOM-KA, IME-TECOM at OFFICE-2, Labhart at OFFICE-2,
      Hewitt at OFFICE-2, SAD at OFFICE-2, EBoyd at OFFICE-2,
      Christina at OFFICE-2, TECOM-HQ at OFFICE-2,
      TBowerman at DARCOM-KA, TECOM-C3I at OFFICE-2, Farber at UDEL
Subject: CP/M vs **NIX in the Office Environment

The following edited exchange came about when Bob Bloom
(IME-TECOM@OFFICE-2) solicited comments about a "spec" for a
CP/M-based communicating Word Processor for an office environment...

I believe there are several statements made herein which should not go
unchallenged by those of us on this list who use tools which run in
the CP/M environment in the office.

I present this as only a temporary diversion from our otherwise highly
technical discussion.  Please limit any responses to factual and
well-founded comments and information, as has been the norm for this
list.

Also, please be sure to include the above CC: list in your replies, as
most of these people are not on INFO-CPM.

--Frank
--------------------

Date: Tuesday, 9 June 1981  13:46-PDT
From: STEF
Re:   Communicating WP Equipment

[...]

CP/M is an operating system environment for very small machines, which
will not grow up to run on larger machines when they become as
inexpensive as the CP/M machines are today.  I am speaking
specifically of the 16 bit micros of the ONYX class, which will begin
to displace the CP/M "price-range" machines in about one year from
now.

If you go the CP/M route, you will invest lots of money in building
systems to run in an environment that will be very hard to maintain in
the face of the obviously better quality of the UNIX/XENIX environment
which is just around the corner.

The trend is toward larger machines becoming cheap, and able to run
the software implemented on the larger machines.  This means that you
should be building your applications software now on the currently
available UNIX systems, with intention to later run that same software
on equivalent sized but cheaper machines next year, and the year
after, etc.  .....

In short, your MicroComputer with CP/M development strategy is running
directly counter to the main driving forces of the industry and the
economics of technology advances.

You should be targeting for full capability Message handlers such as
XMSG and MMDF plus SCRIBE and EMACS equivalent tools, which are much
more easily built now for the larger machines, than can be implemented
in the limited capability CP/M machines.

[...]

May I suggest that you take full advantage of the work that has been
done, by opening up the options by replacing CP/M with UNIX, and
adding mail handling capabilities with "message data base" software,
ala INFOMAIL.

I think you will find that more of the software has already been built
for the UNIX environment than you plan to implement for the CP/M
environment.


Date: Wednesday, 10 June 1981  17:46-PDT
From: STEF
Re:   FYI:  [Dave Farber <farber@udel>:  Xerox "worms into Apple?"]

Dave Farber originated this item, which relates to the CP/M proposal.

    Today's Wall Street Journal has a product announcement for the
    Xerox 820, a low cost information processor that can be used as a
    desktop computer or word-processing system.  The basic system
    costs 2,995 and comes with a display, a microprocessor, a keyboard
    unit, and dual floppies.  The article hints that it can be
    connected to the Ethernet.

    If I remember correctly it uses an 8086 with CP/M.  Interesting
    recognition of the dominence of CP/M is the micro marketplace.

    Dave

	
....  I would comment that several aspects of the Xerox strategy seem
strange to me, so I am not convinced that their plans to "worm their
way into the APPLE market" with the 820 should offset my basic
analysis that says large scale users, such as TECOM, should more
likely consider UNIX/XENIX as a preferred "Domain for software
accumulation."

Cheers - Stef


Date: 10 Jun 81 21:01:17-EDT (Wed)
From: Dave Farber <farber at udel>
Re:   FYI: [Dave Farber <farber@udel>: Xerox "worms into Apple?"]

I also agree that the 820 should in no way impact plans for Unix.
CP/M is just not Unix.  It does not grow the way Unix does.  It is
strictly a Micro system, while Unix is much much wider in
applicability.

Dave


Date: 10 Jun 81 21:23:29-EDT (Wed)
From: Dave Farber <farber at udel>
Re:   FYI: [Dave Farber <farber@udel>: Xerox "worms into App...

I just want to restate clearly my view.  CP/M is competitive with Unix
ONLY in small systems like the Z80, 8086 etc class machines.  There is
NOwhere to grow and no chance from my view of any growth for CP/M.
That still makes CP/M a good candidate for the small marketplace and
the home market but as a basis for office systems in places that will
grow, I think not.

Dave
11-Jun-81 05:37:00,624;000000000000
Date: Thursday, 11 June 1981  05:37-MDT
From: JSWAIN at BBNA
To:   info-cpm at MIT-MC, info-micro at MIT-MC
Subject: Format and Copy programs

	Would any-one out there know where I would be able to get the
source code for a full disk copy program and a disk format program
running under CP/M(r) using the WD 1793 Controller Chip.
	If possible, I would like them t support single/double density,
and the same for the side options.

	Modifying the source would be no trouble, as I am trying to save
some time writing the programs, just get my wire-wrapped controller up.

	Thanks,

	John Swain    JSWAIN@BBNA
11-Jun-81 22:59:00,962;000000000000
Date: Thursday, 11 June 1981  22:59-MDT
From: DAG at MIT-AI
To:   info-cpm at MIT-MC
cc:   info-micro at MIT-MC


I am trying to set up a multi-user micro based computer
system.  We need about 20meg on disk (hard), one single
density 8" floppy, cartridge backup and two to three
terminals.  I have thought of MP/M and OASIS as OS's and
would like ideas about how folks feel about them, I also
want to run some form of inventory control, but it must be
configurable (hackable) and not too much pf a pain to
use.  I have a limmitted (but practical budget) of about 14
to 16 K bucks, but would like to stay less than that.

I would like any ideas, sugesstions, other blah about systems,
modules, vendors, and any other things you can think of.
the other requiremnet is reliability.  Anything
you can tell me would be of use.  I am still working
on record lockout things and other nonesuch as well.


			Thanks,
			Dave Gewirtz (DAG@MIT-AI)
13-Jun-81 00:09:00,943;000000000000
Date: Saturday, 13 June 1981  00:09-MDT
From: MITTON at MIT-AI
To:   FJW at MIT-AI
cc:   INFO-CPM at MIT-AI
Subject: CBBS/NECS has been dead, long live CBBS/NECS!

The CBBS that was run by the NECS at DEC in Maynard,
617-897-0346, has not been operating since Fall 1979!!!!
It is still listed in BBSNOS BYAREA (didn't  check BYNAME).
It has also unfortunately been listed in three recent issues of Dr Dobbs,
and Popular Electronics.  I was the operator.  I have told list
maintainers here before!  How long does it take to get a number deleted?
If this keeps up I am really going to start flaming!!!
Anyone who runs a CBBS knows that calls come at random late hours of the
night.  Some phones have been reassigned to residential numbers.
These people do not appreciate, even understand, the publishing of their
phone numbers.   PLEASE BE CAREFUL and CONSIDERATE when using these lists!!!!
		Dave Mitton, CBBS/Cambridge SYSOP
13-Jun-81 03:01:00,510;000000000000
Date: Saturday, 13 June 1981  03:01-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: New version of D.ASM

D.COM, the restricted directory program, is now version 2.6.
The files are available on MC as:
MC:CPM;D-26 COM   and  MC:CPM;D-26 ASM
   Fixes include:  CTL-C abort now works consistantly, SYS options
now allow for up to 3 characters for increased security on RCPM
systems, some code optimization to reduce D.COM's size.  See .ASM
file for details on updates.
13-Jun-81 10:53:00,340;000000000000
Date: Saturday, 13 June 1981  10:53-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: D-26 replaced by D-27

There was an error in the names counter for files not found.
I fixed it and replaced files on MC.  New files are:
   MC:CPM;D-27 COM    and   MC:CPM;D-27 ASM
Sorry if anyone was inconvienced.
13-Jun-81 21:22:00,1316;000000000000
Date: Saturday, 13 June 1981  21:22-MDT
From: Bill Sholar <William.Sholar at CMU-10A>
Sender: William.Sholar at CMU-10A
To:   INFO-CPM at MIT-MC
Subject: Help getting started . . .

 
I've just started using CP/M on my TRS-80 Mod II, P&T version of CP/M.  I've
been trying to make use of some of the public domain software, without success.
 
I have Microsoft's Macro-80 (plus the Digital Research ASM), which will gladly
generate 460 fatal errors when I try to assemble any of the .ASM files that
sit about here and there.  Lacking the software to download a .COM file, 
those files seem useless.  My current trick to download .ASM files (etc.) is
to use a TRS-80 terminal package, then dump the files to a TRS-80 disk.
Then I have to transfer the file to a CP/M disk, and try to assemble it.
COM files won't down load because some of the characters cause my system
to burp (and worse) if they are received "straight".  HEX files would be
useful, but no one seems to keep those around. 
 
I am getting ready to buy a batch of CPMUG disks -- would appreciate any
advice on which modem packages work well, and on where to obtain similar
public software.  
 
I'd also appreciate comments on the relative merits of MAC, as compared 
with MACRO-80.  
 
Thanks,
 
Bill Sholar
<SHOLAR@CMUA>
14-Jun-81 01:12:00,360;000000000000
Date: Sunday, 14 June 1981  01:12-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Need help with Penril 212-A modem

Anyone know how to make that modem switch to 1200 baud when
placing a call?  I tried the "HS (high-speed) switch but all
I get when I do that is high-speed reversals, still on the 103
tone frequencies.
14-Jun-81 03:59:00,1323;000000000000
Date: Sunday, 14 June 1981  03:59-MDT
From: Frank J. Wancho <FJW at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: CPMUG Catalog and Doc Files Available

For a limited time (say, a week or so, until I can find room
elsewhere), the subject files will be available for FTP from
[DARCOM-KA]<FWANCHO>CPMUG.*.  The "original", CPMUG.DOC, came from a
file that EB@AI constructed from a tape of the individual files from
CLEMENTS@BBNA (who got it from yet another person whose name resides
in the depths of the INFO-CPM archives).

The files cover up through Volume 42 and have been back-converted into
156 individual "messages" suitable for perusing with your favorite
mail reader in either TENEX or BABYL format.  Be forewarned that each
of these three files is 277 TENEX pages!

They are:

[DARCOM-KA]<FWANCHO>CPMUG.DOC   - The "original" file from EB -
                                  slightly modified.

[DARCOM-KA]<FWANCHO>CPMUG.BABYL - The BABYL format.

[DARCOM-KA]<FWANCHO>CPMUG.TXT   - The TENEX MESSAGE.TXT format.

I suspect the remaining catalog and doc files, up to whatever is the
current release (56?), will eventually become available.  When that
happens, I will create three more files as above and merge the
resultant files into those as well, with a similar announcement.

--Frank
14-Jun-81 15:08:00,830;000000000000
Date: Sunday, 14 June 1981  15:08-MDT
From: Bill Sholar <William.Sholar at CMU-10A>
Sender: William.Sholar at CMU-10A
To:   INFO-CPM at MIT-MC
Subject: My last query - help with TRS80/CPM

After looking at a number of modem, mboot, etc. packages
sitting on RBBS's, I can see how to make use of them to
get on the air, but the Radio Shack documentation is
poor to worse on accessing the serial ports, and the cpm
material is about the same.
 
I can get up and running if someone will provide me with
the "magic numbers" to use with the EQU's for port numbers
and bits being tested in the apparently standard modem
packages sitting around (MODCTLP, MODSNDB, etc).
 
These numbers are needed for a TRS-80, 64k, Model II machine
running P&T's standard CPM for this machine.  
 
Would appreciate any help!

Bill
14-Jun-81 21:47:00,463;000000000000
Date: Sunday, 14 June 1981  21:47-MDT
From: EHUANG at MIT-AI
To:   INFO-CPM at MIT-AI

Hi.
There was a PATCH for the cp/m assembler by digital
research andmodified by some users here. I cant
find the file on MC:cpm;. caN ANYONE hELp OR TELL
Me WHERE i COUDL fIND IT?
AS THE ASMPAT.ASM IN THE MANUAL WONT WORK on my cP?m
1.4 mofDIFIED.
THANS
PS: sORRY FOR THE MESSY UUPER/LOWER CASE BUT this
CP/M termianls PROgraM IS SHFITNG UP/LOw CASe
RANDOMLDy.
15-Jun-81 04:58:00,307;000000000000
Date: Monday, 15 June 1981  04:58-MDT
From: Keith B. Petersen <W8SDZ at MIT-MC>
To:   INFO-CPM at MIT-MC
Subject: Equates for TRS80 for modem.asm

MC:CPM;TRSMDM EQUS is a file detailing the equates and other
info on how to set up MODEM206 (or MODEM527) for the TRS-80
level II standard serial port.
15-Jun-81 10:31:00,27736;000000000000
Date: Monday, 15 June 1981  10:31-MDT
From: AFITGORDON at BBNB
To:   WANCHO at DARCOM-KA, INFO-CPM at MIT-MC
cc:   [Zwiterion]: at BBNB, Stef at DARCOM-KA, IME-TECOM at OFFICE-2,
      Labhart at OFFICE-2, Hewitt at OFFICE-2, SAD at OFFICE-2,
      EBoyd at OFFICE-2, Christina at OFFICE-2, TECOM-HQ at OFFICE-2,
      TBowerman at DARCOM-KA, TECOM-C3I at OFFICE-2, Farber at UDEL,
      AFITGORDON at BBNB
Subject: CP/M vs **NIX in the Office Environment

In response to the message sent  10 June 1981  22:29-PDT (Wednesday) from WANCHO@DARCOM-KA

Greetings, Gentlemen,

        I  have  recently  noted  your  conversations  regarding   the
adoption  of  an  operating  system for microcomputers in an automated
office environment.  I would like to offer my opinions and comments in
the following document for your review.

        Your work is interesting and related to what  I  have  already
been  doing  with  CP/M.   The  following  document,  for example, was
composed on  my  personal  microcomputer  using  the  Word  Star  text
editor/formatter  under CP/M and automatically transmitted to the ARPA
Net, where it was further transmitted to you via electronic mail.

        The following, then, are my opinions, for what they are worth,
and they are submitted in the interest of  information  exchange  with
your community.

	
					Richard Conn

-------- Document Follows --------

                       A Comparison of CP/M and UNIX
 
 
                       A Comparison of CP/M and UNIX
                             A Matter of Choice
 
             An  interesting  discussion and controversy  concerning 
        the  selection  of  an Operating System (OS)  for  a  micro-
        computer-based  office automation system has recently  taken 
        place between and within members of DARCOM (Dept of the Army 
        Readiness Command) and others on the ARPA Network.   Central 
        to  the  controversy are two basic groups -- those  for  the 
        CP/M OS and those for UNIX/UNIX-like OS's.
 
             This is the first such controversy I have observed that
        has taken any significant proportions,  and with the  advent 
        of  the new 16-bit microprocessors such as the 8086,  Z8000, 
        and  68000  and the "UNIX-like" operating  systems  such  as 
        OMNYX and XENIX,  the question of staying with CP/M or going 
        to the UNIX environment is going to arise with more and more 
        frequency.   UNIX  (first released by Bell Labs in 1969) has 
        recently  been hailed as the "Operating System of the  80'S" 
        by several people, and I feel that now may be a good time to 
        outline  a  comparison  of  CP/M 2.2  and  UNIX  for  future 
        reference.   Note that this comparison involves  traditional 
        UNIX  (NOT  necessarily identical to the  yet-to-be-released 
        XENIX).
 
             Having  done  some research on and used both  types  of 
        operating  systems,  I  offer the following  discussion  for 
        general dissemination.   This discussion is divided into two 
        parts  -- (1) a brief comparison of Bell's UNIX and CP/M 2.2 
        and (2) a brief discussion of the criteria for selection  of 
        the OS and my recommendation.
 
 
                                   Part 1
                  -- A Comparison of UNIX and CP/M 2.2 --
 
             The  following  is  a basic comparison of  several  key 
        points of the UNIX and CP/M 2.2 Operating Systems.  Data for 
        the UNIX part of the comparison was extracted from "The Bell 
        System Technical Journal",  July-Aug 78,  Vol 57, No 6, Part 
        2, ISSN0005-8580 (Articles:  "A Retrospective" by DM Ritchie 
        and "The UNIX Shell" by SR Bourne primarily).   Data for the 
        CP/M 2.2 part of the comparison was extracted from  "Digital 
        Research  CP/M 1.4 & 2.0 Documentation" reprinted by  Morrow 
        Designs,  Inc.  (Section II:   CP/M 2.0 User's Guide).   The 
        data  presented is edited and augmented by comments from  my 
        personal experiences.
 
                  UNIX                !         CP/M 2.2
        ------------------------------!----------------------------
        o No Unique Version           ! o Unique Version
          At least 5 versions exist:  !   Version 2.2 (Precisely
             1.  "Standard" maintained!    Defined)
        by the UNIX Support Group at  !
        Bell Labs                     !
 
 
                                                           Page 1
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
             2.  PWB/UNIX (Programmers!
        Work Bench)                   !
             3.  Version 6 (distrib.  !
        by Western Electric)          !
             4.  Version 7            !
             5.  The version currently!
        in use by the Computing       !
        Science Research System at    !
        Bell Labs                     !
                                      !
        o Multi-user/process          ! o Single-user/process
                                      !
        o File Size Limit             ! o File Size Limit
          ==  1e9 bytes (depends on   !   == 8e6 bytes
        version); e=10 to power       !
                                      !
        o Supports Random Access Files! o Supports RA Files also
                                      !
        o Targeted to the PDP-11 Fam  ! o Targeted to 8080/Z80
                                      !
        o Tree Directory Structures   ! o Dual-Level Directory
          (Indefinite number of levels!   Structure (USER/DIR or
        and Path Names)               ! SYS) and Limited Path (A:FN)
                                      !
        o Links Allowed               ! o Links Permitted (Extension)
          (Different dir entries pt to!
        same file for disk space save)!
                                      !
        o Device Transparency and Re- ! o Device Transparency and Re-
          directability Complete      !   directability limited to
          (I/O routed to/from files   !   terminal I/O
        and terminals with equal ease)!
 
                         User Interface Comparisons
                  UNIX                !         CP/M 2.2
        ------------------------------!--------------------------
        o Command Interpreter         ! o Command Interpreter
          "Shell"                     !   "CCP"
                                      !
        o Shell Easily Replaced       ! o CCP Replaced with
                                      !   difficulty
                                      !
        o Not Part of Kernal          ! o Not Part of Kernal
                                      !
        o Full Command Language is    ! o Full Command Language is
          relatively complicated      !   simple
                                      !
        o All commands have redirect- ! o Only terminal I/O is
          able I/O (<,<<,>,>>)        !   redirectable
                                      !
        o More extensive wild cards   ! o Simple wild cards
          (?,*,[c1-c2],[c1...cn])     !   (?,*)
                                      !
        o Interprocess information    ! o No equivalent
          transfer (pipes); coroutines!
 
 
                                                           Page 2
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
                                      !
        o Type-Ahead                  ! o Type-Ahead possible
                                      !   via BIOS
                                      !
        o Parallel processes          ! o No equivalent
                                      !
        o Indirect command files; no  ! o Indirect cmnd files; 20
          limit to arguments          !   argument limit
          (sh file arg1 arg2 ...)     !   (submit file arg1 ...)
                                      !
        o Conditional Execution       ! o No equivalent
          (ANDF - &&, ORF - !!)       !
                                      !
        o Construct Execution         ! o No equivalent
             if ... then ... else     !
             case ... in ...          !
             while ... do ...         !
             for ... do ...           !
             until ... do ...         !
                                      !
        o Shell Variables (Param sub) ! o No equivalent
          ex:  user=myfile            !
               print $user            !
                                      !
        o Command Substitution        ! o No equivalent
          ex:  d='pwd'                !
 
 
                                Other Items
                  UNIX                !         CP/M 2.2
        ------------------------------!----------------------------
        o Reliability - Good          ! o Reliability - Good
                                      !
        o Security - Fair             ! o Security - Poor
                                      !
        o Use of HOL                  ! o Use of HOL
          90-95% in C - OS            !   Mainly Assem - OS
          95-100% in C - Utilities    !   90% in PL/M - Std Utils
                                      !
        o ARPANET Interface (NCP)     ! o No Equivalent
          currently available         !   (except for terminal pgms)
                                      !
        o Extensive document prepara- ! o Extensive document prep
          tion facilities             !   facilities
             ed - simple char-oriented!    ED - simple char-oriented
               editor                 !      editor
             Are there any screen-    !    WM, EP - screen-oriented
               oriented editors or    !      editors
               formatters?            !    WS, MW - s-o edit/format
             troff, nroff - formatters!    TFS - formatter
               with macro expansion   !      with macro expansion
             eqn - mathematical expr  !    No known equivalent
               preprocessor           !
             tbl - table preprocessor !    No known equivalent
             spell - spelling check   !    SPELLGUARD - spell chk
 
 
                                                           Page 3
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
             speak - voice output     !    No known equivalent
             diff - file comparator   !    FILCOM - file comparator
                                      !
        o Online instruction          ! o Online instruction
             learn -- tutor           !    PILOT - CAI language
             online help?             !    HELP - online doc
                                      !
        o Exotic applications         ! o Exotic applications
             yacc - compiler-compilers!    MUMATH - symbolic
             others?                  !      algebra
                                      !
        o Languages                   ! o Languages
             C, FORTRAN 77, BASIC,    !    C, FORTRAN IV, BASICs,
        SNOBOL, APL, ALGOL 68, PASCAL ! APL, ALGOL 60, PASCALs,
        others?                       ! LISP, MUMATH, MUSIMP,
                                      ! PILOT, PL/I, COBOL
                                      ! others?
 
 
                             Part 1 Commentary
 
             From  the point of view of a hacker (such as I consider 
        myself to be),  both CP/M and UNIX are outstanding operating 
        systems to experiment with and study.   Systems  programming 
        on  each is relatively easy to do,  and both exhibit an  ex-
        treme  level of extensibility which may be utilized by  sys-
        tems  programmers.   By  this I mean that both OS's  can  be 
        modified,  tailored to a specific application,  with a great 
        deal  of  ease at the systems programming  level.   Each  is 
        flexible  enough to be used to create a "virtual machine" of 
        the system programmer's design which can react in almost any 
        way desired (e.g.,  text processing environments and program 
        development  environments  can be easily created  which  are 
        tailored to a user's particular needs).
 
             The particularly intriguing aspects of UNIX to me are:
                  1.   the  tree directory structures;  using these, 
        each user's projects and files can be logically grouped  and 
        organized as the user and/or his manager desires and special 
        work environments,  each with their own set of commands, can 
        be easily created
                  2.   the Shell (command interpreter) can be easily 
        replaced,  so specialized shells or even menu-driven command 
        environments may be created with ease
                  3.   device transparency and redirectability is an 
        outstanding  concept!   This  allows  instances  such  as  a 
        program  which  by default sends its output to the  terminal 
        (such  as a directory program) to be forced to  channel  its 
        output  to  a  different device,  a file,  or  even  another 
        process;  the potential for applications of this facility is 
        enormous!
                  4.  parallel processing and coroutines are common-
        place;  this  provides the very nice ability of a  user  to, 
        say,  initiate  the printing of a file while he goes off and 
        does  something  else  -- better yet,  one  user  may  issue 
 
 
                                                           Page 4
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
        several  commands to be executed concurrently while he  does 
        something else
                  5.   conditional executions (ANDF,  ORF), language 
        constructions in the command language (IF, WHILE, FOR, CASE, 
        etc.),   and  parameter  and  command  substitutions  (Shell 
        variables) are novel and interesting concepts
 
             On the other hand, the intriguing aspects of CP/M to me 
        are:
                  1.   the  ability to divide logical  projects  and 
        work  files into user areas,  with each user area having its 
        own  set of files and commands (any number of which  may  be 
        hidden  [transparent]  to  the  user);   in  a  single  user 
        environment,  this seems to be just as reasonable and useful 
        as the tree structure of UNIX
                  2.    the   ability  to  replace  the  CCP   (with 
        difficulty);  this can be done easier in UNIX, but it is not 
        outside  the  scope of a system programmer to do  this  with 
        CP/M  (I  have done it,  making a major  modification  which 
        greatly  enhances  CP/M's power -- command execution of  COM
        files under my new CCP searches the current user area on the 
        current  disk,  falls to user 0 of the current disk  if  not 
        found, finally falls to user 0 or drive A: if not found, and 
        finally   issues   an   error  message).    This   new   CCP 
        significantly places CP/M in a competative mode with UNIX in 
        command  execution  (UNIX  traces up the  tree  for  command 
        execution).
                  3.   CP/M's terminal I/O is redirectable, and this 
        buys a lot of flexibility for the user;  UNIX,  however,  is 
        equally redirectable and even more so
                  4.   CP/M  is  very small,  leaving  much  of  the 
        microcomputer's  memory  for the transcients and  utilities; 
        size   is   sometimes   a  problem,   but   with   the   new 
        microprocessors and their megabyte addressing  capabilities, 
        it should no longer pose such a problem
                  5.   finally, and perhaps most importantly, a wide 
        variety of relatively high-quality software (screen-oriented 
        editors,  language systems,  communications systems, etc) is 
        currently  available  for  CP/M,  and I have not  seen  such 
        quality  systems yet being prepared for systems  like  XENIX 
        (whose specs are not even out yet); there will be a definite 
        lag  before (and IF) XENIX and other such systems obtain the 
        software base currently in existence for CP/M!!!!!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                                           Page 5
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
 
                                   Part 2
         A Commentary -- Criteria for Selection and Recommendation
 
             In making such a selection of operating systems, I feel 
        that   there  are  five  basic  questions  which  should  be 
        considered in the evaluation.  In short, these questions are 
        the following:
 
                  1.   Is  the OS adequate to meet the needs of  the 
        user?  Is there enough memory for the required utilities and 
        applications  programs  to  run in (considering  the  memory 
        management schemes employed by the OS)?   VERY IMPORTANT  -- 
        Is  the OS responsive (In the microcomputer age,  I consider 
        the  time  of the user/programmer to be much  more  valuable 
        than the time of the machine, and an OS/machine which in any 
        way  slows the user/programmer down due to its lack  of  re-
        sponsiveness should be reevaluated!!!!)
                  2.   Is  the OS extensible (user-customizable  for 
        his  particular application)?   If I don't like the form  of 
        the  command language or the commands of the editor,  can  I 
        change these to meet my tastes?  If I want a menu-based user 
        interface, can I create one?
                  3.  Is software produced under the OS on machine A 
        easily  transportable to the same OS on machine B (allowing, 
        of course,  media compatability)?   Source code generally is 
        transportable provided the language is standardized (like  C 
        on UNIX),  but is the binary (including the OS "hooks") also 
        transportable (like on CP/M)?
                  4.   Are software tools (editors,  compilers,  de-
        buggers,  etc.) available AND effective for the target class 
        of users?   For instance, I would much rather give my secre-
        tary  a screen-oriented editor which is easy to use  as  op-
        posed  to  a character-oriented editor in which she  has  to 
        worry  about the position of an imaginary cursor.   The tool 
        should be easy to use, people should be quickly and inexpen-
        sively trained to use it,  and it should be efficient (fast,  
        capable,  and  requiring  as little overhead  as  possible).
        Also,  if  I currently have an existing tool base  which  my 
        people are already trained to use,  I should think carefully 
        about  moving  to  a new OS just because it is new  or  pro-
        mising.
                  5.   Finally,  is the software easily maintainable 
        and reliable?   Tools are seldom perfect,  and  improvements 
        are constantly coming out.   I would like to see the ability 
        to modify my tools if I desire (I own them, don't I?) and be 
        supported  by the vendor as new releases  emerge.   Also,  I 
        want  to use proven,  time-tested tools which I can rely  on 
        extensively.
 
             Hence, reader, from my point of view, presented are the 
        primary attributes of UNIX and CP/M 2.2 and my basic set  of 
        criteria to judge these systems by.   Coming from a largely-
        CP/M environment (I already have CP/M as a base), UNIX would 
        win hands down (looking through the eyes of a hacker).  UNIX 
 
 
                                                           Page 6
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
        is a fantastic software tool which supports many interesting 
        and exciting features,  and, regardless of the use I put the 
        UNIX  system  to,  I still have my CP/M base to  support  my 
        current applications and interests (also including hacking).
             The  above statement,  however,  was from the point  of 
        view  of  a hacker with a CP/M base.   The  question  posed, 
        however, was from the point of view of the creation of a new 
        system  to support office automation.   This is a management 
        system in a manager's environment,  not a hacker system in a 
        programmer's environment.  To make a choice for the manager, 
        let's fall back to the five criteria outline above.
             In  my opinion,  both operating systems come out  about 
        even in the first three items.   Both UNIX (XENIX?) and CP/M 
        are   generally   adequate,    extensible,    and    support 
        transportable software for the automated office environment.  
        In  both cases,  tools may have to be designed for  specific 
        needs  (like  XMSG for UNIX mail and CBBS software for  CP/M 
        mail).   Software  support  from  systems  programmers  will 
        probably  be  required  to design and  integrate  the  tools 
        necessary for an automated office system.
             Item  4 is perhaps a key point in the  decision.   CP/M 
        already has a relatively-large base of quality tools for the 
        target  class  (secretarial/managerial) of  user.   From  my 
        observation of automated office environments such as my  own 
        CP/M environment,  AUGMENT of Tymshare,  and NLS under TENEX 
        and TOPS-20,  I note that the majority of the time (at least 
        in  my  case,  and  I suspect most others) is spent  in  the 
        electronic mail system and the editors.  Consequently, tools 
        for these environments must be most effective,  allowing the 
        user to get his job done in a minimum amount of time with  a 
        minimum  amount of effort.   I am currently employing  menu-
        driven  mail  systems and fast screen-oriented  editors  for 
        these  functions,  and  I feel  that  (design-dependent,  of 
        course),  these  are the most productive alternatives avail-
        able today.  Specialized terminals designed with the editors 
        in  mind  (e.g.,  DNLS Workstations) are a  good  goal,  but 
        general CP/M screen editors such as Word Master,  Word Star, 
        and Magic Wand are already available, reliable, field-proven 
        and  tested,  and reasonably effective (I spend little  time 
        waiting on them/giving commands and more time composing than 
        I  do  with  more conventional editors).   I have  not  seen 
        comparable  field-proven software for the new  UNIX  systems 
        (they are not even out yet).
             Finally,    the   fifth   item,    that   of   software 
        maintainability and support, is concentrated on support from 
        this (office automation) level.   Your environment  probably 
        will not have systems programmers readily available,  so you 
        will  probably  be  largely  dependent  on  vendor  support.  
        Again, reliable, field-proven software is a big plus.
 
             Two  additional  points should be brought out  at  this 
        time  as well:   (1) the philosophy question of the state of 
        the  art and (2) the philosophy question of the use  of  the 
        new microcomputers (microprocessors).
             Concerning  the  state  of the art,  UNIX  (XENIX?)  is 
 
 
                                                     Page 7
 
 
 
 
 
                       A Comparison of CP/M and UNIX
 
 
        definitely closer to it than CP/M,  but the operating system 
        is just the RESOURCE MANAGER of the computer system, not the 
        KEY to the computer system.   The KEY to the system lies  in 
        the  TOOLS (utilities) which run under the operating system!  
        These tools must be reliable,  easy to use, and efficient in 
        human  terms.   From my observations,  EDITORS are the  most 
        instrumental   of   tools,   and   the   Word   Master   and 
        (particularly)  Word Star are the most  powerful,  reliable, 
        and  efficient  editors  I  have  seen  (with  the  possible 
        exception  of EMACS on MIT and the DNLS editor).   Such  are 
        already  available under CP/M,  and I know of no  comparable 
        editor (Such could exist,  of course) under XENIX (will  the 
        UNIX editors work on XENIX?).
             Concerning the philosophy question,  many people  still 
        look  at computer systems and operating systems from a "con-
        ventional" point of view.   The computer is typically viewed 
        as  an expensive resource which must be used as  efficiently 
        (in terms of computer thruput) as possible,  but the  micro-
        processor  has  changed that.   Under CP/M,  I am  currently 
        running  two  microcomputers (total cost is  under  $15,000) 
        quite  effectively.   These machines and their software  are 
        designed to serve me,  and to obtain a maximum of effective-
        ness for the user (measured in terms of minimum wait on  the
        computer),  operations such as number crunching programs and
        print  spooling  are sent to the second machine.   Too  many 
        times  I have working in environments such as a dual  CYBER, 
        DEC-10,  or  VAX where the machine's thruput was  considered 
        above the individual's effectiveness, and the responsiveness 
        of  these  machines to me was far less than that of  my  own 
        microcomputer!   I hope you consider this point;  individual 
        effectiveness and usefulness should be of prime concern, and 
        consider  the idea of supplying the single  individual  with 
        more than one processor/machine.  Many of the pro-UNIX types 
        may  cling  to the old (machine-thruput) school of  thought, 
        but much is to be said for the user-effective (made possible 
        by  the  inexpensiveness  of the  microcomputer)  school  of 
        thought.   The  multiprocess capabilities of UNIX are  nice, 
        but I consider multiprocessor capability to be nicer still!
 
             In  sum,  my recommendation is to go with CP/M if  your 
        need is immediate.   If not, wait and see what the UNIX-like 
        systems  have to offer in reliability,  tools,  and competa-
        tively-marketed (competition is very important for quaility)
        software.   "Something  better" is always  coming  out,  but 
        buying  "the best" (=most recent?) software at a given  time 
        is  not necessarily the best decision in the long run.   New 
        software  is  frequently  field-debugged  (not  always,   of 
        course),  and you should be leary of opening yourself up  to 
        do the debugging when you are trying to get a job done.
 
 
 
 
 
 
 
 
                                                           Page 8
15-Jun-81 17:31:00,2455;000000000000
Date: Monday, 15 June 1981  17:31-MDT
From: CSVAX.dmu at Berkeley
To:   info-cpm at mit-ai
Subject: one of the most important but overlooked differences

The recent document comparing UNIX and CP/M is difficult
to answer objectively.  I have used both, although have
used UNIX MUCH more.  Anyway, the problem in these comparisons
don't convey the flavor of the system:
the underlying world-view of the original design that no
amount of fancy user-level sofware can completely mask.

FLAME ON:

UNIX has a `delete' key that aborts a user program
WITHOUT any special code in the user program.
CPM has this polling philosophy towards I/O (just look at
the BDOS interface) that makes it hard to poke programs in standard ways.

Berkeley UNIX has a job control facility that permits
the user to take any job (a pipeline of processes)
and suspend it, restart it in the background,
or move it into the foreground.  Thus, from any interactive
program, one can stop it, and enter commands to the command interpreter
WITHOUT any code in the interactive program.

UNIX has ``toolbox'' facilities that let one combine programs
in unexpected (by the applications programmers) ways.
Pipes, the absence of OS-supported file formats (this is a FEATURE),
redirection, tools that support applicative programming
(sort, uniq, awk especially) provide the user with a friendly,
powerfull environment that allows one to shape the software
to the human's needs, rather than vice-versa.

Finally, UNIX may not have thousands of cottage programmers
out there plugging away with applications,
but instead it has hundreds of researchers (e.g. Aho) building tools:
There are many screen editors, vi (Berkely editor), EMACS versions,
edtv, syntax-directed editors, take your choice.  There are
several PASCAL's.  There are word-processing programs that are
simply amazing (e.g. awk, an interpreter with both regular-expression
matching and procedural language).  Troff and TEX
are just two of the formatters available.  Software control tools
allow you to change any file and recompile everything that depends on it
(and no more) with just one command.

UNIX is not the be-all and end-all of Operating Systems, but it is the
only reasonable choice for a 16-bit machine.  If you can afford
it, (and memory prices are going down all the time), you should
get it.

P.S. UNIX has LISP and MACSYMA running on it.
FLAME OFF
David Ungar
